package in.model.base;
import android.os.Parcel;
import android.os.Parcelable;
import com.google.gson.JsonElement;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.util.List;
import in.data.TSerializable;
import in.lib.utils.SerialReaderUtil;
import in.lib.utils.SerialWriterUtil;
public abstract class Model implements Parcelable, TSerializable
{
public Model()
{
}
public abstract Model read(SerialReaderUtil util);
public abstract void write(SerialWriterUtil util);
public abstract Model createFrom(JsonElement element);
public abstract List<? extends Model> createListFrom(JsonElement element);
public void save()
{
}
@Override public int describeContents()
{
return 0;
}
public String getVersion()
{
return "";
}
public Model createFrom(Parcel parcel)
{
return read(new SerialReaderUtil(parcel));
}
public void writeToParcel(Parcel dest, int flags)
{
write(new SerialWriterUtil(dest));
}
@Override public Model readFromBuffer(DataInputStream buffer)
{
return read(new SerialReaderUtil(buffer));
}
@Override public void writeToBuffer(DataOutputStream buffer)
{
write(new SerialWriterUtil(buffer));
}
}